iT邦幫忙

2023 iThome 鐵人賽

DAY 1
2

前文

哈囉各位我是Xiang 今天是鐵人賽的第一天
今後我會教大家要如何運用Swift
也希望大家可以和我一步一步學習Swift/images/emoticon/emoticon07.gif

Swift

Apple公司在2014年在WWDC發布了Swift程式語言
專門用於開發iOS、macOS、watchOS 和 tvOS等應用
Apple宣稱Swift的特點是:快速、現代、安全
而且明顯優於Objective-C語言

今後我們會使用Swift這個程式語言來設計我們的專案

Xcode

Xcode是Apple公司向開發人員提供的IDE
今後我們所有的開發都會在Xcode上

那先到Appstore幫我下載Xcode
然後按 Create a new Xcode project

接下來看到畫面最上面會找到File
依序幫我點擊 New > Playground

就可以在這裡練習Swift的語法囉

那如果我想要練習開發App呢

一樣先創一個project 然後點擊iOS > App

Product Name 就是這個project的名稱
Interface 我們使用Storyboard
Language 當然就是Swift
接著Next 然後creat到桌布上

然後到下圖的位置
把 Storyboard Name 直接 delete 掉
因為我們這次開發是使用XIB 不是 Storyboard

在 Xcode 創建 iOS 應用程序

可以選擇使用 Storyboard 或 XIB 來設計用戶界面
較複雜的應用程序可能會使用 Storyboard 進行整體的界面設計和導航
而較為簡單的界面則可以使用 XIB 來單獨設計

然後到Build Setting 搜尋 UIKIT 一樣也 delete

然後左邊專案的地方把這兩個都刪掉
刪掉時會跳通知 我們點 Remove Refereences

那我們刪除這兩個 就要再新增一個專案

依序點擊 iOS > Cocoa Touch Class
subclass of 選 UIViewController
class 的地方我會習慣主畫面就是 MainViewController (這邊是自定義的)
記得要勾選下面的creat XIB

最後一步

Scenedelegate.swift 修改成下面的function

func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
    guard let windowScene = (scene as? UIWindowScene) else { return }
    let rootVC = MainViewController(nibName: "MainViewController", bundle: nil)
    let navigationController = UINavigationController(rootViewController: rootVC)
    window = UIWindow(frame: windowScene.coordinateSpace.bounds)
    window?.windowScene = windowScene
    window?.rootViewController = navigationController
    window?.makeKeyAndVisible()
    }

這個Function主要就是 讓我的MainViewController
作為rootViewController
然後讓UINavigationController相應的元素或導航欄設成可見狀態
rootVC這邊 因為剛剛我的命名是 MainViewController
所以如果大家跟我不一樣的話就要去更改哦
之後我們就會在 MainViewController.swift 裡面寫我們的Code

結尾

做到這邊大家是不是都眼花撩亂了呀/images/emoticon/emoticon06.gif 這是正常的
等到之後做了其他project就會習慣了
那明天就會繼續介紹Swift的基本語法 大家明天見


下一篇
Day02 Swift裡你要知道的語法
系列文
Xiang教你入門Swift從零到有30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言